#!/bin/bash

# 进入你的项目目录
cd /workspace/AI/ComfyUI/custom_nodes/comfyui_lora_train

echo "开始同步主仓库..."

# 强制同步主仓库
git fetch --all
git reset --hard origin/$(git rev-parse --abbrev-ref HEAD)
git clean -fdx

echo "主仓库同步完成，开始处理子模块..."

# 初始化并强制同步所有子模块
git submodule update --init --recursive --force

echo "子模块初始化完成，开始强制同步子模块..."

# 对所有子模块递归执行强制同步和清理
git submodule foreach --recursive '
  echo "处理子模块: $name"
  git fetch --all
  
  # 获取.gitmodules中指定的分支，如果没有则使用当前分支
  BRANCH=$(git config -f $toplevel/.gitmodules submodule.$name.branch 2>/dev/null || git rev-parse --abbrev-ref HEAD)
  echo "切换到分支: $BRANCH"
  
  # 确保在正确的分支上
  git checkout $BRANCH
  git reset --hard origin/$BRANCH
  git clean -fdx
  
  echo "子模块 $name 同步完成"
'

echo "主仓库和所有子模块已与远端完全同步，所有未受控文件已清理。" 